package com.xmy.cultivate.service;

import com.xmy.cultivate.entity.Grade;
import com.xmy.cultivate.entity.StudentClassType;
import com.xmy.cultivate.entity.StudentGrade;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 学生所在班级与课程（分班表） 服务类
 * </p>
 *
 * @author hpiggy
 * @since 2024-03-20
 */
public interface IStudentGradeService extends IService<StudentGrade> {

    List<StudentGrade> getReadingData(Integer yearPart, Integer quarterNum, Long studentId, Long subjectsId, Integer lessonType);

    boolean updateIsLast(StudentGrade studentGrade);

    void updateIsPresort(Long schoolId, Long studentId, Integer yearPart, Integer quarterNum, Long subjectsId, Integer lessonType);

    void updateIsPresortForRecord(Long schoolId, Long studentId, Integer yearPart, Integer quarterNum, Long subjectsId, Integer lessonType);

    void updateStudentGradeClassTypeId(StudentClassType studentClassType);

    Integer updateDeleted(Long id, Integer deleted);

    void newStudentSchedule(StudentGrade studentGrade);


    List<Grade> getStudentGradeTime(Integer yearPart,
                                    Integer quarterNum,
                                    Long schoolId,
                                    Long studentId,
                                    String lessonType,
                                    String unSubjectsId,
                                    String weekDates,
                                    String schedulingType
    );

    /**
     * 根据精品课给智能课或者刷题班分班
     * @param studentGrade
     */
    void autoAllotStudentGrade(StudentGrade studentGrade);
}
